Une question centrale à se poser avant de conclure quant à la validité des résultats est de savoir si le modèle spécifié est correcte:
La relation est-elle commune pour l’ensemble des individus de l’échantillon?
La forme fonctionnelle choisie est-elle la meilleure?
Une variable importante est-elle omise?
Dans ce TD, nous allons apporter quelques tests permettant d’avoir des “intuitions” quant à la validité du modèle choisi
2 La stabilité des coefficients
En économétrie, on fait l’hypothèse implicite de stabilité des coefficients i.e. constance dans le temps et l’espace des paramtres du modle (coefficients, carts-types,…)
Cela implique que la relation entre les variables est identique pour l’ensemble de l’échantillon (individus et période temporelle)
Exemples:
La relation croissance-chomage a-t-elle été modifiée à partir de 1974 dans les pays de l’OCDE?
Les facteurs expliquant le choix d’émigration sont-ils diffrents pour les pays en guerre et les autres pays?
L’objectif des tests de stabilité des coefficients est d’étudier si cette hypothèse est acceptable
Il existe deux grands familles de tests en fonction de la connaissance ou non du point de rupture
Code
set.seed(42)suppressPackageStartupMessages({library(ggplot2); library(dplyr); library(tidyr)})years <-1960:1990t0 <-min(years)t <- years - t0n <-length(years)t_break <-1974## Trajectoire "stable"y_stable <-5+0.5* t +rnorm(n, sd =1.5)## Trajectoire avec rupture (claire) : saut de niveau + pente plus fortebeta_pre <-0.20# pente avant 1974beta_post <-1.10# pente après 1974level_jump <-8# saut de niveau à 1974sd_pre <-1.2sd_post <-1.0is_post <- years > t_break# Formule segmentée (continue au point de rupture + saut de niveau explicite)y_break <-3+ beta_pre * t + is_post * ( level_jump + (beta_post - beta_pre) * (t - (t_break - t0)) ) +rnorm(n, sd =ifelse(is_post, sd_post, sd_pre))df <-tibble(year = years,stable = y_stable,rupture = y_break) |>pivot_longer(-year, names_to ="scenario", values_to ="y") |>mutate(segment =case_when( scenario =="stable"~"Stable (toutes années)", scenario =="rupture"& year <= t_break ~"Avant 1974", scenario =="rupture"& year > t_break ~"Après 1974" ))# Bandeau après 1974 pour guider l’œilband <-data.frame(xmin = t_break, xmax =max(years), ymin =-Inf, ymax =Inf)ggplot() +# Bandeau post-1974geom_rect(data = band, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax),inherit.aes =FALSE, fill ="grey90") +# Pointsgeom_point(data = df, aes(year, y, color = scenario), alpha =0.7) +# Deux droites pour le scénario "rupture" (avant / après)geom_smooth(data = df %>%filter(scenario =="rupture"),aes(year, y, linetype = segment), method ="lm", se =FALSE, linewidth =1.1) +# Une seule droite pour le scénario "stable"geom_smooth(data = df %>%filter(scenario =="stable"),aes(year, y), method ="lm", se =FALSE, linewidth =1.1) +# Marqueur de la date de rupturegeom_vline(xintercept = t_break, linetype =2) +annotate("label", x = t_break +0.6, y =max(df$y, na.rm =TRUE),label ="Rupture 1974", size =3) +labs(x ="Année", y ="Variable (simulée)",color ="Scénario", linetype ="Segment (rupture)") +theme_minimal(base_size =13) +theme(legend.position ="top")
Figure 1: Rupture structurelle marquée en 1974 : saut de niveau + changement de pente.
Figure 2: Hétérogénéité des coefficients par groupe (pays en guerre vs autres).
Figure 3: Inverted-U dataset: linear fit misses curvature; quadratic and smoother capture it.
3 La stabilité des coefficients
Test de Chow
Ce test nécessite de connaître le point de rupture
Intuition: Le test cherche à étudier si les comportements différent dans les deux sous-échantillons (1 & 2)
En présence de stabilité des coefficients, la SCR de l’chantillon total devrait être égale à la somme des SCR des deux sous chantillons
\(SCR_{t} \equiv SCR_{1}+SCR_{2}\)
\(H_0\): Stabilité des coefficients
Caution
Attention: Il faut travailler avec des erreurs homoscédastiques (sinon forte probabilité de rejet de \(H_{0}\))
4 La stabilité des coefficients
Test de Chow
La statistique de Chow suit une loi de Fisher-Snedecor:
\(CH=\frac{SCR_{t}-(SCR_{1}+SCR_{2})}{SCR_{1}+SCR_{2}}\frac{N-2K}{K} \leadsto F(K,N-2K)\) avec K le nombre de coefficients estimer (donc constante incluse)
Note
On estime 3 régressions, la 1re sur le premier sous-échantillon avant la date de rupture, la 2nde sur le deuxime échantillon après la date de rupture, et la 3me sur l’échantillon complet.
KFaire: View\(\to\) Stability diagnostic \(\to\) Chow Breakpoint Test
Choisir le point de rupture
Note
Ce test peut être fait avec plus de deux sous-groupes
5 La stabilité des coefficients
Test de Chow
Sur petits échantillons, appliquer le test de Chow prédictif:
Avec une variable dépendante en log, un coefficient sur une variable en niveau s’interprète en % : \(\beta_k \approx 100\times\Delta\%\ \text{de }Pass\) pour +1 unité de \(X_k\) (si \(|\beta_k|\) modeste).
Pour les muettes (Low_cost, Public, Inter), \(100\times(\exp(\beta)-1)\) donne l’effet % moyen par rapport à la catégorie de référence.
En pratique (EViews) : Quick → Estimate Equation, entrer la formule, puis vérifier signification (p-values), \(R^2\), et résidus.
13.0.3 Question : Stabilité des coefficients
Quel problème induit le non-respect de la stabilité des coefficients ?
Afficher la réponse
(a) Quel problème en cas de non-stabilité ?
Les coefficients varient selon le temps ou les sous-groupes → la relation n’est pas homogène sur tout l’échantillon. Conséquences : mauvaise spécification, biais d’interprétation, tests t/F non pertinents « moyennés », prévisions trompeuses pour certains sous-ensembles.
13.0.4 Question : Stabilité des coefficients
Comment peut-on tester cette hypothèse ?
Les coefficients de l’estimation sont-ils identiques pour les pays européens et non-européens ?
Si non, comment pouvez-vous corriger ce problème ?
Afficher la réponse
(b) Comment tester cette hypothèse ?
Plusieurs approches :
Point de rupture connu (par exemple une date précise, changement de politique) :
Test de Chow (comparaison avant/après la date de rupture) ;
ou estimation avec variables d’interaction et test d’égalité conjointe des coefficients.
Point de rupture inconnu : dans ce cours on retient le test de Quandt-Andrews, qui cherche automatiquement une ou plusieurs dates de rupture possibles dans l’échantillon.
13.0.5 Question : Stabilité des coefficients
Les coefficients de l’estimation sont-ils identiques pour les pays européens et non-européens ?
Si non, comment pouvez-vous corriger ce problème ?
Afficher la réponse
Créer une variable muette UE, introduire des interactions muette × variables explicatives puis tester l’égalité des coefficients (Wald ou test de Chow).
Si les coefficients diffèrent, on peut :
conserver les interactions (coefficients spécifiques par groupe),
ou estimer deux modèles séparés.
13.0.6 Question : Test du RESET
Quel est l’objectif de ce test ?
Quelle est l’hypothèse nulle et l’hypothèse alternative ?
Afficher la réponse
Objectif / Hypothèses :
Le RESET de Ramsey détecte une mauvaise spécification fonctionnelle (omission de termes non linéaires, interactions, variables pertinentes).
\(H_0\) : bonne spécification (pas de non-linéarités/termes manquants détectables).
\(H_1\) : mauvaise spécification (il manque des transformations de \(X\), interactions, ou la forme n’est pas linéaire).
13.0.7 Question : Test du RESET
Le modèle estimé passe-t-il ce test ?
Afficher la réponse
Mise en œuvre (EViews) : View → Stability Diagnostics → Ramsey RESET test (ou View → Specification Tests, selon version). Lire la statistique F et la p-value.
Décision avec la statistique F
Relever la statistique\(F_{\text{obs}}\) donnée par EViews et les degrés de liberté\((k,\,n-k)\)indiqués dans le tableau du test.
Trouver dans la table de la loi de Fisher la valeur critique\(F_{\alpha}(k,\,n-k)\).
Comparer :
Si\(F_{\text{obs}} \le F_{\alpha}(k, n-k)\): on ne rejette pas\(H_0\) → la forme linéaire n’est pas remise en cause.
\(F_{\text{obs}} > F_{\alpha}(k, n-k)\): on rejette\(H_0\)→ le modèle est mal spécifié ; il faut ajouter des termes (quadratiques, cubiques, interactions, transformations log, etc.) puis re-tester.